#include<bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(true);
long long t;
cin>>t;
long long n;
while(t--)
{
cin>>n;
long long x[n];
for(long long i=0;i<n;i++)
{
cin>>x[i];
}
long long mx=0;
long long mxr[n];
map<long long,long long>m1;
map<long long,long long>m2;
long long a[n];
long long b[n];
long long mxl[n];
for(long long i=n-1;i>=0;i--)
{
m2[x[i]]++;
b[i]=m2.size();
mx=max(mx,x[i]);
mxr[i]=mx;
}
mx=0;
for(long long i=0;i<n;i++)
{
m1[x[i]]++;
a[i]=m1.size();
mx=max(mx, x[i]);
mxl[i]=mx;
}
vector<pair<long long,long long>>ans;
for(long long i=0;i<n-1;i++)
{
if(a[i]==i+1 && mxl[i]==i+1 && b[i+1]==n-i-1 && mxr[i+1]==n-i-1)
{
ans.push_back({i+1,n-i-1});
}
}
cout<<ans.size()<<endl;
for(auto pom:ans)
{
cout<<pom.first<<" "<<pom.second<<endl;
}
}
}
1047B - Cover Points | 1381B - Unmerge |
1256A - Payment Without Change | 908B - New Year and Buggy Bot |
979A - Pizza Pizza Pizza | 731A - Night at the Museum |
742A - Arpa’s hard exam and Mehrdad’s naive cheat | 1492A - Three swimmers |
1360E - Polygon | 1517D - Explorer Space |
1230B - Ania and Minimizing | 1201A - Important Exam |
676A - Nicholas and Permutation | 431A - Black Square |
474B - Worms | 987B - High School Become Human |
1223A - CME | 1658B - Marin and Anti-coprime Permutation |
14B - Young Photographer | 143A - Help Vasilisa the Wise 2 |
320A - Magic Numbers | 1658A - Marin and Photoshoot |
514A - Chewbaсca and Number | 382A - Ksenia and Pan Scales |
734B - Anton and Digits | 1080A - Petya and Origami |
1642D - Repetitions Decoding | 1440A - Buy the String |
1658F - Juju and Binary String | 478A - Initial Bet |